Home Networks
Multimedia devices are common in residential settings. These devices include PCs, TVs, printers, recorders and audio playback devices, and the like. Conventionally, these devices operate independently, using different application programs. Typically, the devices do not share multimedia, access to the Internet and service providers. Emerging home networking technologies enable the devices to communicate with one another and be connected to an access network via a home gateway. When the access network is connected to service providers, multimedia contents, in the form of packets, can be streamed to the devices via Internet.
Packets
FIG. 1A shows a conventional Internet packet 10. The Internet can use a transport layer protocol (TCP) or a user datagram protocol (UDP). If UDP is used, the service is unreliable because the source is not notified when a delivery fails. The packets, in the context of TCP/IP, are generally called datagrams.
The packet includes a media access (MAC) header 20, an IP header 30, TCP/UDP header 40, and payload data 50. Fields of interest to the invention are the QoS marking 21 in the MAC header, the destination IP address 31 and the differentiated services (DS) field 32 in the IP header, and the port number 41 in the TCP/UDP header.
DS Field
Differentiated Services (DiffServ) are defined in the Internet Engineering Task Force (IETF) Request for Comment (RFC) 2474. The DS field is included in the IP header. DiffServ, in part, specifies quality-of-service (QoS). As shown in Table 1, the DS field includes of eight bits.
TABLE 1DS FieldDS5DS4DS3DS2DS1DS0ECNECN
The six most significant bits are called the differentiated services code point (DSCP). With six bits available, a total of 64 DSCP are available, thus allowing 64 standard Internet service protocol distinctions, or priority levels.
Currently, only a subset of all possible values in the field is used by the DiffServ routers. DSCP. The two least significant bits are used for Explicit Congestion Notification (ECN).
DiffServ-enabled routers and other network elements use the DSCP to differentiate the network traffic, i.e., classifying packets as the packets enter the local network. DiffServ uses the Behavior Aggregate (BA) classification method. In the BA classification method, packets are classified based only on the DSCP values. Packets from different sources having the same DSCP value are grouped as a BA and treated in the same manner. A per-hop behavior (PHB) is a description of the externally observable forwarding behavior of a DS node applied to a particular BA.
The DiffServ standard utilizes three most significant bits in the DS field, i.e., DS5, DS4 and DS3, for priority setting. The other three bits in the DSCP provide a finer priority granularity.
In practice, most networks use the following commonly-defined PHBs: Default PHB, which is typically best-effort traffic; Expedited Forwarding (EF) PHB, which is dedicated to low-loss, low-latency traffic; Assured Forwarding (AF) PHB, gives assurance of delivery under conditions; Class Selector (CS) PHBs, which are defined to maintain backward compatibility with the IP Precedence field.
The Class Selector codepoints are of the form ‘xxx000’. The first three bits are the IP precedence bits. Each IP precedence value can be converted into a DiffServ class. If a packet is received from a non-DiffServ aware router that used IP precedence markings, then the DiffServ router can still determine the encoding as a Class Selector codepoint.
The Request For Comment (RFC) 2597 defines the Assured Forwarding (AF) PHB as a means for a provider DS domain to offer different levels of forwarding assurances for IP packets received from a customer DS domain. Assured forwarding provides assurance of delivery as long as the traffic does not exceed some subscribed rate. Traffic that exceeds the subscription rate faces a higher probability of being dropped if congestion occurs.
The AF PHB guarantees a certain amount of bandwidth to an AF class and allows access to extra bandwidth, if available. There are four AF classes, AF1x through AF4x.
Within each class, there are three service levels based on drop probabilities. Traffic that exceeds the assigned subscription rate faces a higher probability of being dropped when congestion occurs. The following Table illustrates the DSCP coding for specifying the AF class with the probability. Bits DS5, DS4 and DS3 define the class; bits DS2 and DS1 specify the drop probability; bit DS0 is always zero. Table 2 shows the DSCP values for assured forwarding PHB.
TABLE 2DSCP values for assured forwarding PHBDropClass 1Class 2Class 3Class 4Low001010010010011010100010AF11AF21AF31AF41DSCP 10DSCP 18DSCP 26DSCP 34Medium001100010100011100100100AF12AF 22AF32AF42DSCP 12DSCP 20DSCP 28DSCP 36High001110010110011110100110AF13AF23AF33AF43DSCP 14DSCP 22DSCP 30DSCP 38
Table 3 gives the values of DSCP in binary, decimal and hexadecimal.
TABLE 3DSCP values in different representationsDSCPBinaryDecimalHexadecimalDefault00000000x00CS100100080x08AF11001010100x0AAF12001100120x0CAF13001110140x0ECS2010000160x10AF21010010180x12AF22010100200x14AF23010110220x16CS3011000240x18AF31011010260x1AAF32011100280x1CAF33011110300x1ECS4100000320x20AF41100010340x22AF42100100360x24AF43100110380x26CS5101000400x28EF101110460x2ECS6110000480x30CS7111000560x38
QoS in Home Networks
One method for providing QoS is class-based. In class-based QoS, the packets are aggregated into a small number of classes, typically 4-8. The class-based QoS has a relatively low complexity because explicit resource management is not required, and offers scalability because devices do not need to maintain sessions. Although class-based QoS uses priorities, a particular QoS is not guarantees.
A number of different technologies and standard Internet service protocols are known to provide class-based QoS in home networks: [DSL-F TR133] DSL Forum (Note1) TR-133 (2005); DSLHome TR-064 Extensions for Service Differentiation; [DLNA] IEC 62481-1 (2006); and DLNA Home networked device interoperability guidelines Part 1: Architecture and Protocols; [DVB-IP] ETSI TS 102 034 (2007); Digital Video Broadcasting (DVB); Transport of MPEG-2 TS Based DVB Services over IP Based Networks; [HGI] Home Gateway Initiative (2006); Home Gateway Technical Requirements: Release 1.0; and [UPnP] UPnP QoS (2006), UPnP QoS Architecture: 2.
Although all of these protocols adopt class-based QoS methods, there still are inconsistencies. For example, different protocols have a different number of priority levels, and the same DS can represent different priority levels in different protocols.
Table 4 summarizes some of these inconsistencies. The priorities for three commonly used protocols are listed in the columns. The DSCP values with the same priority are in the same column. Note that the relative priorities given to different priority levels in these protocols just represent an example case. The second highest priority (0x28) in DLNA, for example, is at the same overall level as the highest priority (0x2E) in DVB-IP and the third highest priority (0x28) in HGI. A different scaling can be used in actual deployments.
TABLE 4DSCP comparison of three protocolsLower than BEBEHigher than BEDLNA0x080x000x280x38DVB-0x000x1A0x240x220x2EIPHGI0x080x100x000x180x200x280x300x38
Priority can be generally categorized as: best effort (BE), lower than BE, and higher than BE. As shown in Table 4, different protocols have a different number of classes and each protocol has different coding for its priorities. For example, 0x1A in DVB-IP and 0x18 in HGI represent the same priority level.
The home gateway can allocate resources according to the harmonized priority levels, wherein the resources include bandwidth, scheduling, buffers, a number of retransmission attempts, and packet drop probabilities. However, the inconsistencies of Table 4 can lead to confusion about the priority and resource allocation, and thereby reduce the efficiency of the QoS method.
In summary, the priorities need to be harmonized and determined consistently when streams using different protocols arrive at the home gateway. To achieve harmonization, it is practically impossible to modify the protocols specified by various standards. Therefore, there is a need for a method that can harmonize priorities without modifying existing protocols.